package com.css.fxfzxczh.modules.evaluationSummary.repository;

import com.css.fxfzxczh.modules.evaluationSummary.entity.*;
import com.css.fxfzxczh.modules.lossReportManage.lossReportEscalation.entity.ReportPublicField;

import java.math.BigDecimal;
import java.util.List;

public interface EnterpriseDirectEconomyRepository {
    boolean saveEnterpriseDirectEconomy(EnterpriseDirectEconomy enterpriseDirectEconomy);

    List<EnterpriseDirectEconomy> getEnterpriseDirectEconomyByXsemId(String xsemId);

    List<EnterpriseDirectEconomy> getEnterpriseDirectEconomy(String xsemId,String type);

    EnterpriseDirectEconomy getEnterpriseDirectEconomyData(String xsemId,String province,String city,String county,String type);

    void delteEnterpriseDirectEconomyByXsemId(String xsemId);

    int getCountByType(String xsemId);

    int getIndoorOutdoorCountByType(String xsemId);

    void deleteIndoorOutdoorPropertyLossesByXsemId(String xsemId);

    boolean saveIndoorOutdoorPropertyLosses(IndoorOutdoorPropertyLosses indoorOutdoorPropertyLosses);

    List<IndoorOutdoorPropertyLosses> getIndoorOutdoorPropertyLossesByXsemId(String xsemId);

    IndoorOutdoorPropertyLosses getIndoorOutdoorPropertyLossesByXsemIdAndCounty(String xsemId, String province,String city,String county);

    void deletePersonnelInjuryAssessmentByXsemId(String xsemId);

    int getlifelineSystemCountByType(String xsemId);

    void deleteLifelineSystemLossByXsemId(String xsemId);

    void savePersonnelInjuryAssessment(PersonnelInjuryAssessment personnelInjuryAssessment);

    List<PersonnelInjuryAssessment> getPersonnelInjuryData(String xsemId);

    boolean saveLifelineSystemLoss(LifelineSystemLoss lifelineSystemLoss);

    List<LifelineSystemLoss> getLifelineSystemLossData(String xsemId, String type);

    List<LifelineSystemLoss> getLifelineSystemLossByXsemIdAndCounty(String xsemId, String province,String city,String county,String type);

    LifelineSystemLoss getTotalLoss(String xsemId, String type);

    boolean saveEarthquakeReliefCostAssessment(EarthquakeReliefCostAssessment earthquakeReliefCostAssessment);

    void deleteEarthquakeReliefCostAssessment(String xsemId);

    EarthquakeReliefCostAssessment getEarthquakeReliefCostAssessment(String xsemId);

    void deleteResettlementPopulationEvaluation(String xsemId);

    boolean saveResettlementPopulationEvaluation(ResettlementPopulationEvaluation resettlementPopulationEvaluation);

    ResettlementPopulationEvaluation getResettlementPopulationEvaluation(String xsemId);

    boolean saveEconomicLossesSummary(EconomicLossesSummary economicLossesSummary);

    List<EconomicLossesSummary> getEconomicLossesSummaryData(String xsemId);

    void deleteEconomicLossesSummary(String xsemId);

    BigDecimal getEconomicLossesSummaryTotal(String xsemId);

    void batchSave(List<IndoorOutdoorPropertyLosses> entityList);

    List<IndoorOutdoorPropertyLosses> getIndoorOutdoorPropertyLossesByXsemId(String xsemId, String type);

    void batchSaveLifeline(List<LifelineSystemLoss> list);

    void batchSaveEnterprise(List<EnterpriseDirectEconomy> subZoneList);

    PersonnelInjuryAssessment getPeopleNumberByXsemId(String xsemId);

    EconomicLossesSummary getDirEcoLossesByXsemId(String xsemId);

    ResettlementPopulationEvaluation getResettlePeopleByXsemId(String xsemId);

    List<LifelineSystemLoss> getReportLossByXsemId(String xsemId);
}
